package com.wctj.api.business.huifu.dto;

import com.wctj.api.base.enums.BankAcctTypeEnums;
import com.wctj.api.business.common.dto.BasePayConfigDTO;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

public class HuiFuCorpMemberUserDTO extends BasePayConfigDTO {

    @NotBlank(message = "app_id不能为空")
    private String appId; // 控制台 主页面应用的app_id
//    @NotBlank(message = "业务请求订单号不能为空")
//    private String bizOrderNum; // 请求订单号，只能为英文、数字或者下划线的一种或多种组合，保证在app_id下唯一
    @NotBlank(message = "会员ID或用户ID不能为空")
//    @JsonProperty("member_id")
    private String mid; // 商户下的用户id，只能为英文、数字或者下划线的一种或多种组合，保证在app_id下唯一
    @NotBlank(message = "姓名不能为空")
    private String name; // 企业名称
    @NotBlank(message = "省份编码不能为空")
    private String provCode; // 省份编码 （省市编码）
    @NotBlank(message = "地区编码不能为空")
    private String areaCode; // 地区编码 （省市编码）
    @NotBlank(message = "统一社会信用码不能为空")
    private String socialCreditCode; // 统一社会信用码
    @NotBlank(message = "统一社会信用证有效期不能为空，格式:yyyyMMdd")
    private String socialCreditCodeExpires; // 统一社会信用证有效期
    @NotBlank(message = "经营范围不能为空")
    private String businessScope; // 经营范围
    @NotBlank(message = "法人姓名不能为空")
    private String legalPerson; // 法人姓名
    @NotBlank(message = "法人证件号码不能为空")
    private String legalCertId; // 法人身份证号码
    @NotBlank(message = "法人证件有效期不能为空")
    private String legalCertIdExpires; // 法人身份证有效期
    @NotBlank(message = "法人手机号不能为空")
    private String legalMp; // 法人手机号
    @NotBlank(message = "企业地址不能为空")
    private String address; // 企业地址

    private String zipCode; // 邮编

    private String telphone; // 企业电话

    private String email; // 企业邮箱
    @NotNull(message = "附件不能为空且内容须包含三证合一证件照、法人身份证正面照、法人身份证反面照、开户银行许可证照。 压缩 zip包后上传，最大限制为 9 M内。")
    private MultipartFile attachFile; // 上传附件

    private String bankCode; // 银行代码

    private BankAcctTypeEnums bankAcctType; // 银行账户类型：1-对公；2-对私

    private String cardNo; // 银行卡号

    private String cardName; // 银行卡对应的户名

    private String notifyUrl; // 异步通知地址

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getMid() {
        return mid;
    }

    public void setMid(String mid) {
        this.mid = mid;
    }

    public String getProvCode() {
        return provCode;
    }

    public void setProvCode(String provCode) {
        this.provCode = provCode;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getSocialCreditCode() {
        return socialCreditCode;
    }

    public void setSocialCreditCode(String socialCreditCode) {
        this.socialCreditCode = socialCreditCode;
    }

    public String getSocialCreditCodeExpires() {
        return socialCreditCodeExpires;
    }

    public void setSocialCreditCodeExpires(String socialCreditCodeExpires) {
        this.socialCreditCodeExpires = socialCreditCodeExpires;
    }

    public String getBusinessScope() {
        return businessScope;
    }

    public void setBusinessScope(String businessScope) {
        this.businessScope = businessScope;
    }

    public String getLegalPerson() {
        return legalPerson;
    }

    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }

    public String getLegalCertId() {
        return legalCertId;
    }

    public void setLegalCertId(String legalCertId) {
        this.legalCertId = legalCertId;
    }

    public String getLegalCertIdExpires() {
        return legalCertIdExpires;
    }

    public void setLegalCertIdExpires(String legalCertIdExpires) {
        this.legalCertIdExpires = legalCertIdExpires;
    }

    public String getLegalMp() {
        return legalMp;
    }

    public void setLegalMp(String legalMp) {
        this.legalMp = legalMp;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getZipCode() {
        return zipCode;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    public String getTelphone() {
        return telphone;
    }

    public void setTelphone(String telphone) {
        this.telphone = telphone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public MultipartFile getAttachFile() {
        return attachFile;
    }

    public void setAttachFile(MultipartFile attachFile) {
        this.attachFile = attachFile;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public BankAcctTypeEnums getBankAcctType() {
        return bankAcctType;
    }

    public void setBankAcctType(BankAcctTypeEnums bankAcctType) {
        this.bankAcctType = bankAcctType;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public String getCardName() {
        return cardName;
    }

    public void setCardName(String cardName) {
        this.cardName = cardName;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }
}
